Úkol č. 1 - vizualizace dat a web scraping (do 11. října)

Úkoly jsou zadány tak, aby Vám daly prostor pro invenci. Vymyslet jak přesně budete úkol řešit, je důležitou součástí zadání a originalita či nápaditost bude také hodnocena!

Data

Pokyny k vypracování

Základní body zadání, za jejichž (poctivé) vypracování získáte 8 bodů:

Další body zadání za případné další body (můžete si vybrat, maximum bodů za úkol je každopádně 12 bodů):

Tipy a triky

Poznámky k odevzdání

Stahovací část

Nejprve jsou pomocí funkce find_all_meeting_link na hlavní stránce nalezeny odkazy na všechny schůze sněmovny. Na odkazu schůze jsou jednotlivá hlasování ještě seskupena, takže najdeme první odkaz na hlasování (find_first_voting). Odtud se již dostaneme k seznamu hlasování dané schůze a shromáždíme odkazy na jednotlivá hlasování(find_all_voting_link)

Nakonec procházíme jednotlivá hlasování, u kterých získáváme jednotlivé hlasy(get_votes) a "lepíme" k nim detaily daného hlasování tj. číslo schůze, číslo hlasování, rozparsované datum, krátký popis hlasování (get_voting_details)

Načtení dat

Úprava dat

Alternativní řešení:

Příchozí/odchozí poslanci

Vzhledem k tomu, že máme k dispozici unikátní identifikátor poslanců budeme pro jednoduchost pracovat pouze s ním a až budeme mít požadovanou množinu přijoinuje detaily poslanců(jméno, příjmení atd.)

Zjistit, kteří poslanci ze sněmovny odešli je vcelku jednoduché. Nejprve zjistíme ID všech poslanců (all_members). Dále seřadíme data podle čísla schůze a čísla hlasování a zjistíme ID poslanců kteří byli členy sněmovny při posledním hlasování (ending_members). Rozdílem množin all_members a ending_members získáme ID odchodzích poslanců. Teď již stačí jen k jednotlivým ID doplnit detaily a udělat z toho nějaký pěkný graf.

V případě příchozích poslanců postupujeme analogicky pouze vezmeme poslance nikoli z posledního, ale z prvního hlasování.

Přeběhlíci

Účast na hlasování (docházka) jednotlivých poslanců

V principu v celém tomhle přehazování s daty jen zjištujeme kolika hlasování se každý jednotlivý poslanec mohl zůčastnit (votes) a na kolika z nich chyběl (absence_votes).

Pak z takto získaných dat pro každého poslance vypočítáme procentuální absenci ( samozřejmě to není úplně fér vůči příchozím/odchozím poslancům, jelikož u nich se absence projeví procentuálně více )

Účast na hlasování jednotlivých stran

Jak často spolu jednotlivé strany hlasují ve shodě

Jak často hlasují poslanci jednotlivých stran ve shodě + největší rebelové

Zde je již graf shodného hlasování resp. rebelských hlasů. Graf je rozdělen po jednotlivých stranách a měl by být seřazen podle počtu rebelských hlasů. Bohužel toto řazení mi kazí poslanci ze skupiny Nezařazení a Jaroslav Foldyna v ČSSD. Nepodařilo se mi přijít na to, proč je to zrovna v těchto případech rozhozeno.